﻿using System;
using System.Collections.Generic;

namespace Contracts {
    public interface IRadar {
        List<IEvent> PeekEvents();
        List<IEvent> ReadEvents();
        ILocal GetLocalInfo();
    }

    public interface IRadarLocal : IRadar{
        void AddEvent(IEvent evt);
    }

    public interface IEvent {
        int GetId();
        void SetId(int id);
        DateTime GetInstant();
        float GetSpeed();
        Byte[] GetPicture();
        String GetPlate();
    }
    
    public interface ILocal {
        String GetName();
        float GetSpeedLimit();
        String GetUID();
        bool IsActive();
    }

    public interface IRepository {
        void AddEvent(IEvent evt);
        List<IEvent> PeekEvents();
        List<IEvent> ReadEvents();
    }

}
